<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <title>Arduino Reference - MouseKeyboard </title>
  <link rel="shortcut icon" type="image/x-icon" href="http://arduino.cc/en/favicon.png">
  <link rel='stylesheet' href='arduinoWideRender.css' 
type='text/css' />
    <!--HeaderText--><style type='text/css'><!--
  ul, ol, pre, dl, p { margin-top:0px; margin-bottom:0px; }
  code { white-space: nowrap; }
  .vspace { margin-top:1.33em; }
  .indent { margin-left:40px; }
  .outdent { margin-left:40px; text-indent:-40px; }
  a.createlinktext { text-decoration:none; border-bottom:1px dotted gray; }
  a.createlink { text-decoration:none; position:relative; top:-0.5em;
    font-weight:bold; font-size:smaller; border-bottom:none; }
  img { border:0px; }
  .editconflict { color:green; 
  font-style:italic; margin-top:1.33em; margin-bottom:1.33em; }

  table.markup { border: 2px dotted #ccf; width:90%; }
  td.markup1, td.markup2 { padding-left:10px; padding-right:10px; }
  td.markup1 { border-bottom: 1px solid #ccf; }
  div.faq { margin-left:2em; }
  div.faq p.question { margin: 1em 0 0.75em -2em; font-weight:bold; }
  div.faq hr { margin-left: -2em; }
   
    .frame 
      { border:1px solid #cccccc; padding:4px; background-color:#f9f9f9; }
    .lfloat { float:left; margin-right:0.5em; }
    .rfloat { float:right; margin-left:0.5em; }
a.varlink { text-decoration:none; }

--></style>  <meta name='robots' content='index,follow' />

  <meta name="verify-v1" content="TtxFIEJAB6zdJ509wLxjnapQzKAMNm9u0Wj4ho6wxIY=" />
</head>
<body>
<div id="page">
  <!--PageHeaderFmt-->
  <div id="pageheader">
    <div class="title"><a href='http://arduino.cc/en'>Arduino</a></div>
  </div>
  <!--/PageHeaderFmt-->

  <!--PageLeftFmt-->
  <div id="pagenav">
    <div id="navbar">
  	<p><a class='wikilink' href='http://arduino.cc/en/Main/Buy'>Buy</a>
<a class='wikilink' href='http://arduino.cc/en/Main/Software'>Download</a>
<a class='wikilink' href='Guide_index.html'>Getting Started</a>
<a class='wikilink' href='http://arduino.cc/en/Tutorial/HomePage'>Learning</a>
<a class='wikilink' href='index.html'>Reference</a>
<a class='wikilink' href='http://arduino.cc/en/Main/Hardware'>Hardware</a>
<a class='wikilink' href='FAQ.html'>FAQ</a>
</p>
<p class='vspace'></p>

    </div>
  </div>
  <!--/PageLeftFmt-->

  <div id="pagetext">
  <!--PageText-->
<div id='wikitext'>
<p><strong>Reference</strong> &nbsp;  <a class='wikilink' href='index.html'>Language</a> | <a class='wikilink' href='Libraries.html'>Libraries</a> | <a class='wikilink' href='Comparison.html'>Comparison</a> | <a class='wikilink' href='Changes.html'>Changes</a>
</p>
<p class='vspace'></p><h2>Mouse and Keyboard libraries</h2>
<p>These core libraries allow an Arduino Leonardo board to appear as a native Mouse and/or Keyboard to a connected computer.
</p>
<p class='vspace'></p><p><strong>A word of caution on using the Leonardo as a Mouse or Keyboard</strong>: if the Mouse or Keyboard library is constantly running, it will be difficult to program your board. Functions such as Mouse.move() and Keyboard.print() will move your cursor or send keystrokes to a connected computer and should only be called when you are ready to handle them. It is recommended to use a control system to turn this functionality on, like a physical switch or only responding to specific input you can control. 
</p>
<p class='vspace'></p><p>When using the Mouse or Keyboard library, it may be best to test your output first using Serial.print(). This way, you can be sure you know what values are being reported. Refer to the Mouse and Keyboard examples for some ways to handle this.
</p>
<p class='vspace'></p><h4>Mouse</h4>
<p>The mouse functions enable to Leonardo to control cursor movement on a connected computer. When updating the cursor position, it is always relative to the cursor's previous location.
</p>
<p class='vspace'></p><ul><li><a class='wikilink' href='MouseBegin.html'>Mouse.begin</a>()
</li><li><a class='wikilink' href='MouseClick.html'>Mouse.click</a>()
</li><li><a class='wikilink' href='MouseEnd.html'>Mouse.end</a>()
</li><li><a class='wikilink' href='MouseMove.html'>Mouse.move</a>()
</li><li><a class='wikilink' href='MousePress.html'>Mouse.press</a>()
</li><li><a class='wikilink' href='MouseRelease.html'>Mouse.release</a>()
</li><li><a class='wikilink' href='MouseIsPressed.html'>Mouse.isPressed</a>()
</li></ul><p class='vspace'></p><h4>Keyboard</h4>
<p>The keyboard functions enable to Leonardo to send keystrokes to an attached computer.
</p>
<p class='vspace'></p><p><strong>Note: Not every possible ASCII character, particularly the non-printing ones, can be sent with the Keyboard library</strong>. The Leonardo supports the use of modifier keys. Modifier keys change the behavior of another key when pressed simultaneously. <a class='wikilink' href='KeyboardModifiers.html'>See here</a> for additional information on supported keys and their use.
</p>
<p class='vspace'></p><ul><li><a class='wikilink' href='KeyboardBegin.html'>Keyboard.begin</a>()
</li><li><a class='wikilink' href='KeyboardEnd.html'>Keyboard.end</a>()
</li><li><a class='wikilink' href='KeyboardPress.html'>Keyboard.press</a>()
</li><li><a class='wikilink' href='KeyboardPrint.html'>Keyboard.print</a>()
</li><li><a class='wikilink' href='KeyboardPrintln.html'>Keyboard.println</a>()
</li><li><a class='wikilink' href='KeyboardRelease.html'>Keyboard.release</a>()
</li><li><a class='wikilink' href='KeyboardReleaseAll.html'>Keyboard.releaseAll</a>()
</li><li><a class='wikilink' href='KeyboardWrite.html'>Keyboard.write</a>()
</li></ul><p class='vspace'></p><h4>Examples</h4>
<ul><li><a class='wikilink' href='http://arduino.cc/en/Tutorial/KeybaordAndMouseControl'>KeybaordAndMouseControl</a>:  Demonstrates the Mouse and Keyboard commands in one program.
</li><li><a class='wikilink' href='http://arduino.cc/en/Tutorial/KeyboardMessage'>KeyboardMessage</a>: Sends a text string when a button is pressed.
</li><li><a class='wikilink' href='http://arduino.cc/en/Tutorial/KeyboardLogout'>KeyboardLogout</a> : Logs out the current user with key commands
</li><li><a class='wikilink' href='http://arduino.cc/en/Tutorial/KeyboardSerial'>KeyboardSerial</a>: Reads a byte from the serial port, and sends back a keystroke.
</li><li><a class='wikilink' href='http://arduino.cc/en/Tutorial/KeyboardReprogram'>KeyboardReprogram</a> : opens a new window in the Arduino IDE and reprograms the Leonardo with a simple blink program
</li><li><a class='wikilink' href='http://arduino.cc/en/Tutorial/ButtonMouseControl'>ButtonMouseControl</a>: Control cursor movement with 5 pushbuttons.
</li><li><a class='wikilink' href='http://arduino.cc/en/Tutorial/JoystickMouseControl'>JoystickMouseControl</a>: Controls a computer's cursor movement with a Joystick when a button is pressed.
</li></ul><p><br /><a class='wikilink' href='index.html'>Reference Home</a>
</p>
<p class='vspace'></p><p><em>Corrections, suggestions, and new documentation should be posted to the <a class='urllink' href='http://arduino.cc/forum/index.php/board,23.0.html' rel='nofollow'>Forum</a>.</em>
</p>
<p class='vspace'></p><p>The text of the Arduino reference is licensed under a
<a class='urllink' href='http://creativecommons.org/licenses/by-sa/3.0/' rel='nofollow'>Creative Commons Attribution-ShareAlike 3.0 License</a>.  Code samples in the reference are released into the public domain.
</p>
</div>


  </div>

  <!--PageFooterFmt-->
  <div id="pagefooter">
&copy;Arduino | 
  <a href='#'>Edit Page</a> | <a href='#'>Page History</a> | <a href='#' target='_blank'>Printable View</a> | <a href='http://arduino.cc/en/Site/AllRecentChanges'>All Recent Site Changes</a>
  </div>
  <!--/PageFooterFmt-->

</div>
</body>
</html>
